//通用的网络请求
import axios from "axios";

export function request(config){
// 创建一个 axios实例并给一个 基础的 url和 超时时间
    const instance = axios.create({
        baseURL:"https://recruit.aicase.xyz",
        timeout:60000,
    })


    //请求拦截,  请求数据时一般不需要处理 错误信息
    instance.interceptors.request.use(config=>{

        // 如果有接口需要请求才可以进行访问，在这统一设置
        const token = localStorage.getItem('token')
        //判断token是否存在
        if (token){
            config.headers.Authorization = 'Bearer ' +token
        }

        //直接放行
        return config
    },(err)=>{

    })


    //响应拦截
    instance.interceptors.response.use((res)=>{
        // console.log(res);
        // 一般不对响应返回的数据进行处理直接放行
        // return res

        //判断res下面有没有 data的存在 直接返回
        return res.data ? res.data :res


    },(err)=>{
        //如果有需要授权才可以进行访问的 ， 统一去login登录页面



        //如果有错误这里会去处理, 显示错误信息
        // alert(err.response.data.errors[Object.keys(err.response.data.errors)[0]][0])

    })

    return instance(config)
}

